﻿using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace SICON_INT.PaginasWebs
{
    public partial class frm_GridBuscarCliente : System.Web.UI.Page
    {
        /// <summary>
        /// The mensaje
        /// </summary>
        public string mensaje = "Buscando clientes";
        /// <summary>
        /// The seleccion
        /// </summary>
        public string seleccion = "";
        /// <summary>
        /// The codigo
        /// </summary>

        static int codigo = 0;
        /// <summary>
        /// The usu_puesto
        /// </summary>
        public static int usu_puesto = 0;
        /// <summary>
        /// The usu_codusuario
        /// </summary>
        public static int usu_codusuario = 0;
        /// <summary>
        /// Handles the Load event of the Page control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        /// 
        /// 
        public string x;

        int pageSize = 0;

        int gridTopOffset = 100;

        int gridBottomOffset = 50;

        int rowHeight = 20;

        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (Request.QueryString["codigo_usuario"] != null && Request.QueryString["puesto"] != null)
                {
                    usu_codusuario = Convert.ToInt32(Request.QueryString["codigo_usuario"]);
                    usu_puesto = Convert.ToInt32(Request.QueryString["puesto"]);
                }
               
                if (this.Session["windowHeight"] != null)
                {
                    pageSize = Convert.ToInt32((Convert.ToInt32(Session["windowHeight"]) - gridTopOffset - gridBottomOffset) / 20) - 3;
                }

                if (!IsPostBack)
                {
                    codigo = 0;


                    //btnShowAgregar.Visible = false;
                    //btnShowEditar.Visible = false;
                    //btnShowEliminar.Visible = false;
                    gvResultados.PageSize = pageSize;

                    lectura_permisos();
                }




            }
            catch (Exception exc)
            {

                mensaje = exc.Message;
            }
        }

        private List<WSGestion.MOD_Puesto_Permiso> listaPermisos()
        {

            WSGestion.WSGestion wsgest = new WSGestion.WSGestion();
            wsgest.Url = ConfigurationManager.AppSettings.Get("dirWs");
            List<WSGestion.MOD_Puesto_Permiso> listaPermisos = wsgest.SEL_Puesto_Permiso_By_ID(usu_puesto).ToList();
            return listaPermisos;

        }

        private void lectura_permisos()
        {
            for (int i = 0; i < listaPermisos().Count; i++)
            {
                if (listaPermisos()[i].PUEPER_nombre_modulo == "Consultas")
                {
                    //if (listaPermisos()[i].PUEPER_nombre_permiso == "Agregar Valor")
                    //{
                    //    btnShowAgregar.Visible = true;
                    //}
                    //if (listaPermisos()[i].PUEPER_nombre_permiso == "Eliminar Valor")
                    //{
                    //    btnShowEliminar.Visible = true;
                    //}
                    //if (listaPermisos()[i].PUEPER_nombre_permiso == "Editar Valor")
                    //{
                    //    btnShowEditar.Visible = true;
                    //}
                    if (listaPermisos()[i].PUEPER_nombre_permiso == "Ver Valor")
                    {
                        //btnShowBuscar.Visible = true;
                        //CargarGrid();
                    }

                }

            }
        }

        //private List<WSGestion.MOD_Buscar_Clientes> Lista_Buscar_Clientes(string valor)
        //{

        //    WSGestion.WSGestion wsgest = new WSGestion.WSGestion();

        //    wsgest.Url = ConfigurationManager.AppSettings.Get("dirWs");

        //    String cadena_conexion = wsgest.GET_Direccion(usu_codusuario).ToString() + wsgest.GET_Password(usu_codusuario).ToString();

        //    List<WSGestion.MOD_Buscar_Clientes> Lista = wsgest.SEL_GRID_BUSCAR_CLIENTES(cadena_conexion, valor).ToList();
            
        //    return Lista;
        //}

        protected void gvResultados_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        protected void gvResultados_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            gvResultados.PageIndex = e.NewPageIndex;
            gvResultados.PageSize = pageSize;
            CargarGrid();
        }

        public void CargarGrid()
        {

            DataTable dt = new DataTable();
            dt.Columns.Add("Linea", Type.GetType("System.String"));
            dt.Columns.Add("Código", Type.GetType("System.String"));
            dt.Columns.Add("Nombre", Type.GetType("System.String"));
            dt.Columns.Add("Act", Type.GetType("System.String"));
            dt.Columns.Add("Tipo", Type.GetType("System.String"));
            dt.Columns.Add("Cod ZGAS", Type.GetType("System.String"));
            dt.Columns.Add("Cod Trop", Type.GetType("System.String"));
            dt.Columns.Add("Tel 1", Type.GetType("System.String"));
            dt.Columns.Add("Tel 2", Type.GetType("System.String"));
            dt.Columns.Add("FAX", Type.GetType("System.String"));
            dt.Columns.Add("Contribuyente", Type.GetType("System.String"));
            dt.Columns.Add("Contrato", Type.GetType("System.String"));
            dt.Columns.Add("Tanque", Type.GetType("System.String"));
            dt.Columns.Add("Serie", Type.GetType("System.String"));


            int cont = dt.Columns.Count;

            WSGestion.WSGestion wsgest = new WSGestion.WSGestion();

            wsgest.Url = ConfigurationManager.AppSettings.Get("dirWs");

            String cadena_conexion = wsgest.GET_Direccion(usu_codusuario).ToString() + wsgest.GET_Password(usu_codusuario).ToString();

            List<WSGestion.MOD_Buscar_Clientes> Lista = wsgest.SEL_GRID_BUSCAR_CLIENTES(cadena_conexion, txtBuscar.Value.ToString()).ToList();
            
            

            for (int i = 0; i < Lista.Count; i++)
            {
                dt.Rows.Add();
                dt.Rows[dt.Rows.Count - 1]["Linea"] = Lista[i].CLI_Linea;
                dt.Rows[dt.Rows.Count - 1]["Código"] = Lista[i].CLI_codigo;
                dt.Rows[dt.Rows.Count - 1]["Nombre"] = Lista[i].CLI_nombre;
                dt.Rows[dt.Rows.Count - 1]["Act"] = Lista[i].CLI_activo;
                dt.Rows[dt.Rows.Count - 1]["Tipo"] = Lista[i].CLI_tipo;
                dt.Rows[dt.Rows.Count - 1]["Cod ZGAS"] = Lista[i].CLI_codzgas;
                dt.Rows[dt.Rows.Count - 1]["COD Trop"] = Lista[i].CLI_codtrop;
                dt.Rows[dt.Rows.Count - 1]["Tel 1"] = Lista[i].CLI_telefono1;
                dt.Rows[dt.Rows.Count - 1]["Tel 2"] = Lista[i].CLI_telefono2;
                dt.Rows[dt.Rows.Count - 1]["Fax"] = Lista[i].CLI_fax;
                dt.Rows[dt.Rows.Count - 1]["Contribuyente"] = Lista[i].CLI_contribuyente;
                dt.Rows[dt.Rows.Count - 1]["Contrato"] = Lista[i].CLI_contrato;
                dt.Rows[dt.Rows.Count - 1]["Tanque"] = Lista[i].CLI_tanque;
                dt.Rows[dt.Rows.Count - 1]["Serie"] = Lista[i].CLI_numserie;

            }

            gvResultados.DataSource = dt;
            gvResultados.DataBind();


        }



        protected void btnbuscar_Click(object sender, EventArgs e)
        {
            x = txtBuscar.Value.ToString();
            if (x != String.Empty)
            {
                CargarGrid();
            }
            
        }


    }
}